﻿<classes>
  <class name="Invoice" assembly="TestCDefSolution.BO" table="tbInvoice" displayName="Invoice">
    <property name="InvoiceID" databaseField="InvoiceIDDBColName" displayName="Invoice ID Display Name" type="Guid" 
		description="Prop Invoice ID Description" readWriteRule="ReadWrite"/>
    <property name="InvoiceString" databaseField="InvoiceStringDbColName" displayName="Invoice String Display NAme" type="String" 
		description="Prop Invoice String Description" readWriteRule="WriteOnce" keepValuePrivate="true" compulsory="true"  default="Default Value">
      <rule name="InvoiceString">
        <add key="minLength" value="0" />
        <add key="maxLength" value="255" />
        <add key="patternMatch" value="@#" />
        <add key="patternMatchMessage" value="Pattern Match Message" />
      </rule>
      <simpleLookupList>
        <item display="LkUp List Item 1" value="L-Up1" />
        <item display="LkUp List Item 2" value="L-Up2" />
        <item display="LkUp List Item 3" value="L-Up3" />
      </simpleLookupList>
    </property>
	<property name="InvoiceBool"  type="Boolean"/>
	<property name="InvoiceDecimal" type="Decimal">
      <rule name="InvoiceDecimal">
        <add key="min" value=".001" />
        <add key="max" value="1.001" />
      </rule>
    </property>
	<property name="InvoiceDate" type="DateTime">
      <rule name="InvoiceDate">
        <add key="min" value="01/01/2010" />
        <add key="max" value="01/31/2010" />
      </rule>
    </property>
	<property name="InvoiceDouble" type="Double">
      <rule name="InvoiceDouble">
        <add key="min" value="0" />
        <add key="max" value="10000000000000000" />
      </rule>
    </property>
	<property name="InvoiceInt32" type="Int32">
      <rule name="InvoiceInt32">
        <add key="min" value="0" />
        <add key="max" value="1000" />
      </rule>
    </property>
	    <property name="InvoiceInt64" type="Int64">
      <rule name="InvoiceInt64">
        <add key="min" value="0" />
        <add key="max" value="1000000" />
      </rule>
    </property>
    <property name="InvoiceSingle" type="Single">
      <rule name="InvoiceSingle">
        <add key="min" value="-1.0000000000000000000000000001" />
        <add key="max" value="1.000000000000000000000000000000000000000000001" />
      </rule>
    </property>
    <property name="InvoiceTimeSpan" type="TimeSpan" />
    <primaryKey>
      <prop name="InvoiceID" />
    </primaryKey>
  </class>
  <class name="InvoiceItem" assembly="Base.BO" displayName="Invoice Item">
    <property name="InvoiceItemID" type="Guid" readWriteRule="WriteNew" compulsory="true" />
	<property name="InvoiceID" type="Guid" readWriteRule="WriteNew" compulsory="true" />
    <primaryKey>
      <prop name="InvoiceItemID" />
    </primaryKey>
  </class>
</classes>